package com.youlian.view;

import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.Gallery;

public class MyViewPager extends ViewPager {

	 private Context context;
     private boolean willIntercept = true;
     
     private ViewPager mPager;
  // 滑动距离及坐标
     private float xDistance, yDistance, xLast, yLast;
     public MyViewPager(Context context) {
             super(context);
             this.context = context;
     }
     
     public MyViewPager(Context context, AttributeSet attrs) {
             super(context, attrs);
             this.context = context;
     }

     public ViewPager getmPager() {
     		      return mPager;
     }

     	public void setmPager(ViewPager mPager) {
     		   this.mPager = mPager;
      }
	
//     
//     @Override
//     public boolean onInterceptTouchEvent(MotionEvent ev) {
////             if(willIntercept){
////                     //这个地方直接返回true会很卡
////                     return super.onInterceptTouchEvent(ev);
////             }else{
////                     return false;
////             }
//             
//             switch (ev.getAction()) {
//             case MotionEvent.ACTION_DOWN:
//                 xDistance = yDistance = 0f;
//                 xLast = ev.getX();
//                 yLast = ev.getY();
//                 break;
//             case MotionEvent.ACTION_MOVE:
//                 final float curX = ev.getX();
//                 final float curY = ev.getY();
//                  
//                 xDistance += Math.abs(curX - xLast);
//                 yDistance += Math.abs(curY - yLast);
//                 xLast = curX;
//                 yLast = curY;
//                  
//                 if(xDistance > yDistance){
//                     return false;
//                 }  
//         }
//  
//         return super.onInterceptTouchEvent(ev);
//             
//     }
//
//     /**
//      * 设置ViewPager是否拦截点击事件
//      * @param value if true, ViewPager拦截点击事件
//      *                                 if false, ViewPager将不能滑动，ViewPager的子View可以获得点击事件
//      *                                 主要受影响的点击事件为横向滑动
//      *
//      */
//     public void setTouchIntercept(boolean value){
//             willIntercept = value;
//     }
     @Override
     public boolean dispatchTouchEvent(MotionEvent ev) {
             // TODO Auto-generated method stub
             mPager.requestDisallowInterceptTouchEvent(true);
             return super.dispatchTouchEvent(ev);
     }

     @Override
     public boolean onInterceptTouchEvent(MotionEvent ev) {
             // TODO Auto-generated method stub
             mPager.requestDisallowInterceptTouchEvent(true);
             return super.onInterceptTouchEvent(ev);
     }

     @Override
     public boolean onTouchEvent(MotionEvent event) {
             // TODO Auto-generated method stub
             mPager.requestDisallowInterceptTouchEvent(true);
             return super.onTouchEvent(event);
     }
}
